// import * as monaco from 'monaco-editor';
import * as monaco from "monaco-editor/esm/vs/editor/editor.api";
monaco.languages.register({  
    id: 'kuangming',  
    extensions: ['.kuangming'], // 指定文件扩展名  
    aliases: ['Kuangming', 'kuangming'], // 语言别名  
    // 其他可能需要的选项，如语言配置文件等  
});
monaco.languages.setMonarchTokensProvider('kuangming', {
    // 定义tokenizer
    tokenizer: {
        // 定义根规则
        root: [
            // 匹配以冒号结尾的文本，并为其分配一个token  token不能带下划线
            [/([\u4e00-\u9fa5]+：)/, 'kuangmingCharacterColor'], // 人物:
            [/(^\（.*\）$)/, 'kuangmingActionColor'], // 动作()
            // [/^\".*\"$/, 'kuangmingDialogueColor'], // 对话"" 对话不做特殊处理
            [/(^\【.*\】$)/, 'kuangmingSceneColor'], // 场景[]
            [/(^\！.*$)/, 'kuangmingFootnoteColor'], // 脚注!开头 红色
            [/(^\{.*\}$)/, 'kuangmingLensColor'], // 镜头{}
            // ... 其他规则 ...  
        ],
        // ... 可能还有其他状态（states） ...  
    },  
    // ... 可能还有其他的tokens提供者选项 ...  
});
monaco.editor.defineTheme('kuangmingThemeOne', {  
    base: 'vs-dark', // 继承自内置的vs-dark主题  
    inherit: true,
    rules: [
        { token: 'kuangmingCharacterColor', foreground: '5053f3' }, // 人物颜色
        { token: 'kuangmingActionColor', foreground: '07b407' }, // 动作颜色
        // { token: 'kuangmingDialogueColor', foreground: 'ffffff' }, // 对话内容颜色
        { token: 'kuangmingSceneColor', foreground: 'aeaaaa' }, // 场景颜色
        { token: 'kuangmingFootnoteColor', foreground: 'b43e3e' }, // 脚注颜色
        { token: 'kuangmingLensColor', foreground: 'f1c42d' }, // 镜头颜色
        // ... 其他自定义tokens的样式定义 ...  
    ],  
    colors: { // 如果需要定义颜色变量，可以在这里定义  
        'editor.foreground': '#ffffff'
    }  
});